I. Field of the Invention
This invention relates generally to numerical control of machines. In particular, this invention relates to control of motion of machine members to effect relative motion of a workpoint along a predetermined path.
II. Description of the Prior Art
Of particular interest herein is coordinated motion of plural members of a machine such as machine 10 shown in FIG. 1. Members 12, 14, and 16, each movable along a linear axis, such as the X, Y, and Z axes shown, may be controlled such that workpoint 18 is caused to move along a path in the course of performing work on workpiece WPC. Linear paths are typically defined by path end points represented by sets of coordinates of the orthogonal X, Y, and Z axes. Circular paths are defined by a combination of path end points and circle center data. In the prior art, motion along a path is achieved by interpolating intermediate points on the path at a predetermined repetition rate and controlling motion of the machine members in response to the intermediate points. Control of actuators effecting motion of the machine members is achieved by subdivision of in-axis changes of position into sub-increments according to a position control loop closure interval.
The prior art technique may result in a path error between the desired path and the actual path commanded by the subdivision of the in-axis changes of position. For example, FIG. 2 illustrates the actual path of motion when the prior art technique is employed to effect arcuate motion by orthogonal linear machine axes. Between intermediate points P.sub.k-1 and P.sub.k the workpoint 18, advanced through linear sub-increments, follows the chord L1 connecting the intermediate points. This results in deviation from the desired arcuate path C1. The path error .delta. is: EQU .delta. = P.sub.p - P.sub.chd
Where:
P.sub.p = coordinates of midpoint of curve C1 PA1 P.sub.chd = coordinates of midpoint of chord L1
The chords may have lengths of several sub-increments resulting in an unacceptably large path error .delta. when the desired arcuate path is of relatively small radius. While path error is conveniently illustrated with reference to orthogonal machine members effecting arcuate motion, it will be appreciated that other machine constructions, for example industrial robots including pivoting links, will, when effecting motion of a workpoint on linear paths, likewise produce path errors when the in-axis changes of position are linearly subdivided in time between intermediate path points. In general path errors which are of interest herein arise from the use of linear sub-span interpolation in instances when the changes of position required to follow a desired path are nonlinear with respect to time.